package com.gaohe.scp.service.impl;

import java.util.List;
import com.gaohe.common.utils.DateUtils;
import com.gaohe.common.utils.SecurityUtils;
import com.gaohe.scp.domain.vo.CsOrderVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gaohe.scp.mapper.CsOrderMapper;
import com.gaohe.scp.domain.CsOrder;
import com.gaohe.scp.service.ICsOrderService;

/**
 * 用户收藏Service业务层处理
 *
 * @author liuxiangyu
 * @date 2025-03-16
 */
@Service
public class CsOrderServiceImpl implements ICsOrderService
{
    @Autowired
    private CsOrderMapper csOrderMapper;

    /**
     * 查询用户收藏
     *
     * @param orderId 用户收藏主键
     * @return 用户收藏
     */
    @Override
    public CsOrder selectCsOrderByOrderId(Long orderId)
    {
        return csOrderMapper.selectCsOrderByOrderId(orderId);
    }

    /**
     * 查询用户收藏列表
     *
     * @param csOrder 用户收藏
     * @return 用户收藏
     */
    @Override
    public List<CsOrder> selectCsOrderList(CsOrder csOrder)
    {
        return csOrderMapper.selectCsOrderList(csOrder);
    }
    /** 查询订单列表*/
    @Override
    public List<CsOrderVo> selectOrderList(CsOrder csOrder)
    {
        Long userId = SecurityUtils.getUserId();
        System.err.println(csOrder.getType());
        return csOrderMapper.selectOrderList(csOrder.getType(),userId);
    }

    /**
     * 新增用户收藏
     *
     * @param csOrder 用户收藏
     * @return 结果
     */
    @Override
    public int insertCsOrder(CsOrder csOrder)
    {
        csOrder.setCreateTime(DateUtils.getNowDate());
        csOrderMapper.insertCsOrder(csOrder);
        return 1;
    }

    /**
     * 修改用户收藏
     *
     * @param csOrder 用户收藏
     * @return 结果
     */
    @Override
    public int updateCsOrder(CsOrder csOrder)
    {
        csOrder.setUpdateTime(DateUtils.getNowDate());
        csOrderMapper.updateCsOrder(csOrder);
        return 1;
    }

    /**
     * 批量删除用户收藏
     *
     * @param orderIds 需要删除的用户收藏主键
     * @return 结果
     */
    @Override
    public int deleteCsOrderByOrderIds(Long[] orderIds)
    {
        csOrderMapper.deleteCsOrderByOrderIds(orderIds);
        return 1;
    }

    /**
     * 删除用户收藏信息
     *
     * @param orderId 用户收藏主键
     * @return 结果
     */
    @Override
    public int deleteCsOrderByOrderId(Long orderId)
    {
        return csOrderMapper.deleteCsOrderByOrderId(orderId);
    }

    @Override
    public List<CsOrder> getOrderByUserId(Long userId) {
        return csOrderMapper.getOrderByUserId(userId);
    }
}
